package com.ride.dao;

import com.ride.model.Ride;

/**
 * Interface zum Zugriff auf Fahrten.
 *
 * @version $LastChangedRevision: 15 $
 *          <p/>
 *          $LastChangedBy: marcel.menze@gmail.com $
 *          <p/>
 *          $LastChangedDate: 2011-04-03 13:43:25 +0000 (Sun, 03 Apr 2011) $
 */
public interface RideDao {

    /**
     * Ermittelt eine Fahrt anhand der ID.
     *
     * @param id ID
     * @return Ride
     */
    public Ride findById(Long id);

    /**
     * Erzeugt eine neue Fahrt.
     *
     * @param ride Fahrt
     */
    void persist(Ride ride);

    /**
     * Aktaulisiert eine vorhandene Fahrt.
     *
     * @param ride Fahrt
     */
    void update(Ride ride);

    /**
     * Löscht eine Fahrt.
     *
     * @param ride Fahrt
     */
    void delete(Ride ride);

}
